TeamCity: port build configs to in-repo Kotlin DSL#178
Open
sergej-koscejev wants to merge 1 commit into
Open
Conversation
Moves the mps-gradle-plugin and git-based-versioning build configurations from the TeamCity UI into .teamcity/settings.kts, so the build of this branch can evolve in lockstep with its code. The pom.xml matches the layout used by mbeddr/publish-mps-prereleases; `mvn teamcity-configs:generate` resolves against https://mps.builds.itemis.cloud/app/dsl-plugins-repository and produces XML that matches the current UI-managed configs semantically. Applying this on the server requires the new `Mbeddr_Tooling_MpsGradlePlugin` subproject to switch its versioned-settings mode from `useParentProjectSettings` to "Synchronization enabled" against the existing VCS root, with "Use settings from the branch being built" turned on. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
nkoester
approved these changes
Apr 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mps-gradle-pluginandgit-based-versioningTeamCity build configurations from the TC UI into.teamcity/settings.kts(Kotlin DSL).setTeamCityBuildNumber buildand thenpublish;git-based-versioningruns:git-based-versioning:build :git-based-versioning:publish.mbeddr/publish-mps-prereleases/.teamcity/pom.xml— parentorg.jetbrains.teamcity:configs-dsl-kotlin-parent:1.0-SNAPSHOTviahttps://mps.builds.itemis.cloud/app/dsl-plugins-repository.Publishstep) so master can later diverge for 3.0.0: task-type interfaces, Gradle 9, drop legacy plugins #177 (selective on-demand publishing of included builds) without touching v1.x.Handover checklist for TeamCity
These steps apply once both this PR and the master PR are merged:
Mbeddr_Tooling_MpsGradlePluginsubproject in TeamCity, switch Versioned SettingssynchronizationModefromuseParentProjectSettingsto Synchronization enabled. Point at the existing VCS root (Mbeddr_Tooling_MpsGradlePlugin, which targetshttps://github.com/mbeddr/mps-gradle-plugin). Turn on "Use settings from the branch being built".##teamcity[buildNumber '…'], artifact list, GitHub commit status).Mbeddr2_Mbeddr_Gradle_MpsGradlePlugin,Mbeddr2_Mbeddr_Gradle_GitBasedVersioning).Note: the DSL reuses the inherited
%system.github.token%for the commit-status publisher. Worth confirming this is the same token the current legacy config's per-build-configsecure:github_access_tokenholds; if not, we'll need a project-scoped credentials entry before archiving the old config.Test plan
cd .teamcity && mvn teamcity-configs:generateproduces XML undertarget/generated-configs/matching the live configs' semantics.maven-mps-snapshotsartifact, GitHub commit status updates.git-based-versioningbuild runs its single step successfully (triggered manually or via dependency).🤖 Generated with Claude Code